namespace ColladaDotNet
{
	/// <remarks/>
    
	[System.SerializableAttribute()]
    
    
	[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.collada.org/2005/11/COLLADASchema")]
	public partial class cg_setparam {
        
		private object itemField;
        
		private ItemChoiceType3 itemElementNameField;
        
		private string refField;
        
		private string programField;
        
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute("array", typeof(cg_setarray_type))]
		[System.Xml.Serialization.XmlElementAttribute("bool", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool1", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool1x1", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool1x2", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool1x3", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool1x4", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool2", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool2x1", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool2x2", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool2x3", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool2x4", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool3", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool3x1", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool3x2", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool3x3", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool3x4", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool4", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool4x1", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool4x2", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool4x3", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("bool4x4", typeof(bool))]
		[System.Xml.Serialization.XmlElementAttribute("connect_param", typeof(cg_connect_param))]
		[System.Xml.Serialization.XmlElementAttribute("enum", typeof(string))]
		[System.Xml.Serialization.XmlElementAttribute("fixed", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed1x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed1x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed1x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed1x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed2x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed2x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed2x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed2x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed3x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed3x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed3x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed3x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed4x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed4x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed4x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("fixed4x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float1x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float1x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float1x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float1x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float2x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float2x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float2x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float2x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float3x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float3x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float3x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float3x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float4x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float4x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float4x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("float4x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half1x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half1x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half1x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half1x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half2x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half2x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half2x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half2x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half3x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half3x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half3x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half3x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half4x1", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half4x2", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half4x3", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("half4x4", typeof(float))]
		[System.Xml.Serialization.XmlElementAttribute("int", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int1", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int1x1", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int1x2", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int1x3", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int1x4", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int2", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int2x1", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int2x2", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int2x3", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int2x4", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int3", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int3x1", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int3x2", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int3x3", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int3x4", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int4", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int4x1", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int4x2", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int4x3", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("int4x4", typeof(int))]
		[System.Xml.Serialization.XmlElementAttribute("sampler1D", typeof(cg_sampler1D))]
		[System.Xml.Serialization.XmlElementAttribute("sampler2D", typeof(cg_sampler2D))]
		[System.Xml.Serialization.XmlElementAttribute("sampler3D", typeof(cg_sampler3D))]
		[System.Xml.Serialization.XmlElementAttribute("samplerCUBE", typeof(cg_samplerCUBE))]
		[System.Xml.Serialization.XmlElementAttribute("samplerDEPTH", typeof(cg_samplerDEPTH))]
		[System.Xml.Serialization.XmlElementAttribute("samplerRECT", typeof(cg_samplerRECT))]
		[System.Xml.Serialization.XmlElementAttribute("string", typeof(string))]
		[System.Xml.Serialization.XmlElementAttribute("usertype", typeof(cg_setuser_type))]
		[System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
		public object Item {
			get {
				return this.itemField;
			}
			set {
				this.itemField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlIgnoreAttribute()]
		public ItemChoiceType3 ItemElementName {
			get {
				return this.itemElementNameField;
			}
			set {
				this.itemElementNameField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute(DataType="token")]
		public string @ref {
			get {
				return this.refField;
			}
			set {
				this.refField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute(DataType="NCName")]
		public string program {
			get {
				return this.programField;
			}
			set {
				this.programField = value;
			}
		}
	}
}